public class Main {
    public static void merge(int[] nums1, int m, int[] nums2, int n) {
        int i = m-1;
        int j = n-1;
        int tail = m + n -1;
        while (i >= 0 || j >= 0) {
            if (i == -1) {
                nums1[tail--] = nums2[j--];
            }else if (j == -1) {
                nums1[tail--] = nums1[i--];
            }else if  (nums1[i] > nums2[j]) {
                nums1[tail--] = nums1[i--];
            }else {
                nums1[tail--] = nums2[j--];
            }
        }
    }
    public static void main(String[] args) {
        int[] nums1 = {-1,0,0,3,3,3,0,0,0};
        int[] nums2 = {1,2,2};
        merge(nums1,6,nums2,3);

    }
}